package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface LoveMusicMapper {
    /**
     * @Author Sliqvers
     * @Description  查询喜欢的音乐
     * @Param * @param[1] userId
     * @param[2] musicId
     * @Date 6:22 2025/5/23
     * @return * @return Music
     **/

    Music findLoveMusicByMusicIdAndUserId(int userId, int musicId);
    /**
     * @Author Sliqvers
     * @Description  查询收藏的音乐
     * @Param * @param[1] userId
     * @param[2] musicId
     * @Date 6:22 2025/5/23
     * @return * @return boolean
     **/

    boolean insertLoveMusic(int userId, int musicId);
    /**
     * @Author Sliqvers
     * @Description 取消收藏
     * @Param * @param[1] null
     * @Date 6:38 2025/5/23
     * @return
     **/
    int deleteLoveMusic(int userId, int musicId);
    /**
     * @Author Sliqvers
     * @Description 查询这个用户收藏过的所有音乐
     * @Param * @param
     * @Date 7:00 2025/5/23
     * @return
     **/
    List<Music> findLoveMusicByUserId(int userId);
    /**
     * @Author Sliqvers
     * @Description 查询当前用户指定为musicname的音乐 同时支持模糊查询
     * @Param * @param[1] musicName
     * @param[2] userId
     * @Date 7:02 2025/5/23
     * @return * @return List<Music>
     **/

    List<Music> findLoveMusicBykeyAndUID(String musicName,int userId);
    /**
     * @Author Sliqvers
     * @Description  根据音乐的ID进行删除
     * @Param * @param[1] musicId
     * @Date 7:41 2025/5/23
     * @return * @return int
     **/

    int deleteLoveMusicByMusicId(int musicId);
}
